﻿namespace Microsoft.Coding4Fun.TweetCraft.Wow
{
    /// <summary>
    /// Creates <see cref="IValueChannel"/> instances to communicate.
    /// </summary>
    public interface IValueChannelFactory
    {
        /// <summary>
        /// Returns a value indicating whether the channel factory can create a channel.
        /// </summary>
        /// <returns></returns>
        bool CanCreateChannel();

        /// <summary>
        /// Create an <see cref="IValueChannel"/>.
        /// </summary>
        /// <returns>An instance of a class that implements <see cref="IValueChannel"/>.</returns>
        IValueChannel CreateChannel();
    }
}